home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / enlightenment / e_zone.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  3KB  |  101 lines

  1. /*
  2.  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  3.  */
  4. #ifdef E_TYPEDEFS
  5.  
  6. typedef struct _E_Zone     E_Zone;
  7.  
  8. typedef struct _E_Event_Zone_Desk_Count_Set     E_Event_Zone_Desk_Count_Set;
  9. /* TODO: Move this to a general place? */
  10. typedef struct _E_Event_Pointer_Warp            E_Event_Pointer_Warp;
  11.  
  12. #else
  13. #ifndef E_ZONE_H
  14. #define E_ZONE_H
  15.  
  16. #define E_ZONE_TYPE 0xE0b0100d
  17.  
  18. struct _E_Zone
  19. {
  20.    E_Object             e_obj_inherit;
  21.  
  22.    int                  x, y, w, h;
  23.    char                *name;
  24.    /* num matches the id of the xinerama screen
  25.     * this zone belongs to. */
  26.    unsigned int         num;
  27.    E_Container         *container;
  28.    int                  fullscreen;
  29.  
  30.    Evas_Object         *bg_object;
  31.    Evas_Object         *bg_event_object;
  32.    Evas_Object         *bg_clip_object;
  33.    Evas_Object         *prev_bg_object;
  34.    Evas_Object         *transition_object;
  35.    
  36.    int                  desk_x_count, desk_y_count;
  37.    int                  desk_x_current, desk_y_current;
  38.    E_Desk             **desks;
  39.  
  40.    Evas_List           *handlers;
  41.  
  42.    struct {
  43.     Ecore_X_Window top, right, bottom, left;
  44.     Ecore_Timer *timer;
  45.     E_Direction direction;
  46.    } flip;
  47.    
  48.    E_Action *cur_mouse_action;
  49.    Evas_List *popups;
  50.  
  51.    Ecore_Evas          *black_ecore_evas;
  52.    Evas                *black_evas;
  53.    Ecore_X_Window       black_win;
  54. };
  55.  
  56. struct _E_Event_Zone_Desk_Count_Set
  57. {
  58.    E_Zone *zone;
  59. };
  60.  
  61. struct _E_Event_Pointer_Warp
  62. {
  63.    struct {
  64.     int x, y;
  65.    } prev;
  66.    struct {
  67.     int x, y;
  68.    } curr;
  69. };
  70.  
  71. EAPI int        e_zone_init(void);
  72. EAPI int        e_zone_shutdown(void);
  73. EAPI E_Zone    *e_zone_new(E_Container *con, int num, int x, int y, int w, int h);
  74. EAPI void       e_zone_name_set(E_Zone *zone, const char *name);
  75. EAPI void       e_zone_move(E_Zone *zone, int x, int y);
  76. EAPI void       e_zone_resize(E_Zone *zone, int w, int h);
  77. EAPI void       e_zone_move_resize(E_Zone *zone, int x, int y, int w, int h);
  78. EAPI void       e_zone_fullscreen_set(E_Zone *zone, int on);
  79. EAPI E_Zone    *e_zone_current_get(E_Container *con);
  80. EAPI void       e_zone_bg_reconfigure(E_Zone *zone);
  81. EAPI void       e_zone_flip_coords_handle(E_Zone *zone, int x, int y);
  82. EAPI void       e_zone_desk_count_set(E_Zone *zone, int x_count, int y_count);
  83. EAPI void       e_zone_desk_count_get(E_Zone *zone, int *x_count, int *y_count);
  84. EAPI void       e_zone_update_flip(E_Zone *zone);
  85. EAPI void       e_zone_update_flip_all(void);
  86. EAPI void       e_zone_desk_flip_by(E_Zone *zone, int dx, int dy);
  87. EAPI void       e_zone_desk_flip_to(E_Zone *zone, int x, int y);
  88. EAPI void       e_zone_desk_linear_flip_by(E_Zone *zone, int dx);
  89. EAPI void       e_zone_desk_linear_flip_to(E_Zone *zone, int x);
  90. EAPI void       e_zone_flip_win_disable(void);
  91. EAPI void       e_zone_flip_win_restore(void);
  92.  
  93. EAPI int        e_zone_exec(E_Zone *zone, char *exe);
  94. EAPI int        e_zone_app_exec(E_Zone *zone, E_App *a);
  95.  
  96. extern EAPI int E_EVENT_ZONE_DESK_COUNT_SET;
  97. extern EAPI int E_EVENT_POINTER_WARP;
  98.  
  99. #endif
  100. #endif
  101.